home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / netz / amyboard / install < prev    next >
Text File  |  1995-08-12  |  34KB  |  1,126 lines

  1. ;;; -*- Lisp-Interaction -*-      ;;;  Version: 03-Jul-95                ;;;
  2. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  3. ;;;
  4. ;;;  AmyBoard Installation script
  5. ;;;  Copyright (C)  1995,   Free Software Foundation
  6. ;;;
  7. ;;;  This program is free software; you can redistribute it and/or modify
  8. ;;;  it under the terms of the GNU General Public License as published by
  9. ;;;  the Free Software Foundation; either version 2 of the License, or
  10. ;;;  (at your option) any later version.
  11. ;;;
  12. ;;;  This program is distributed in the hope that it will be useful,
  13. ;;;  but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. ;;;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15. ;;;  GNU General Public License for more details.
  16. ;;;
  17. ;;;  You should have received a copy of the GNU General Public License
  18. ;;;  along with this program; if not, write to the Free Software
  19. ;;;  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  20. ;;;
  21. ;;;
  22. ;;;  Author:   Jochen Wiedmann
  23. ;;;            Am Eisteich 9
  24. ;;;            72555 Metzingen
  25. ;;;            Germany
  26. ;;;
  27. ;;;            Phone: (0049) +7123 / 14881
  28. ;;;            Internet: wiedmann@neckar-alb.de
  29. ;;;
  30. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  31.  
  32.  
  33. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  34. ;;;
  35. ;;;  Variable settings
  36. ;;;
  37. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  38. (set installVersion "3.3.pl0")
  39. (set installName "AmyBoard")
  40. ;(set installProgram (cat installName "-" installVersion))
  41. (set installProgram installName)
  42. (set minOsVersion 37)
  43. (set minMuiVersion 8)
  44.  
  45.  
  46. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  47. ;;;
  48. ;;;  SelectInstallDir procedure
  49. ;;;
  50. ;;;  Allows the user to select an installation directory (full path),
  51. ;;;  which will be stored in the installDir variable.
  52. ;;;
  53. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  54. (procedure SelectInstallDir
  55.     (set installDir-Parent (expandpath (askdir
  56.     (prompt "Please select the installation directory. "
  57.         "A drawer " installProgram " will be created."
  58.     )
  59.     (help installName " is installed in a separate directory. "
  60.           "A typical place is something like `Work:" installProgram
  61.           "' or something similar. In this example you should select "
  62.           "the directory `Work:'.\n\n"
  63.           @askdir-help)
  64.     (default @default-dest)
  65.     (newpath)
  66.     )))
  67.  
  68.     (set installDir (tackon installDir-Parent installProgram))
  69.     (set @default-dest installDir)
  70.     (message "Installing in " installDir)
  71. )
  72.  
  73.  
  74. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  75. ;;;
  76. ;;;  CheckOsVersion procedure
  77. ;;;
  78. ;;;  Aborts, if OS version is lower than the variable minOsVersion.
  79. ;;;  Sets osVersion variable.
  80. ;;;
  81. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  82. (procedure CheckOsVersion
  83.     (set osVersion (/ (getversion "exec.library" (resident)) 65536))
  84.     (if (< osVersion minOsVersion)
  85.     (   (abort "Sorry, " installName
  86.            " needs Kickstart/Workbench 2.04 or higher.")
  87.     ))
  88. )
  89.  
  90.  
  91. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  92. ;;;
  93. ;;;  CheckMuiVersion procedure
  94. ;;;
  95. ;;;  Aborts, if MUI isn't installed or the version is lower than
  96. ;;;  minMuiVersion.
  97. ;;;  Sets muiVersion variable.
  98. ;;;
  99. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  100. (procedure CheckMuiVersion
  101.     (set muiVersion (/ (getversion "libs:muimaster.library") 65536))
  102.     (if (< muiVersion minMuiVersion)
  103.     (   (abort "Sorry, you don't seem to have installed MUI version "
  104.            " 2.0 or higher.")
  105.     ))
  106. )
  107.  
  108.  
  109. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  110. ;;;
  111. ;;;  ShowCopyrightMessage procedure
  112. ;;;
  113. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  114. (procedure ShowCopyrightMessage
  115.     (message installName ": GNU Chess and ICS frontend\n\n"
  116.     "V" installVersion " © 1995  Jochen Wiedmann\n\n"
  117.     "This program is FREE SOFTWARE; you can redistribute it and/or "
  118.     "modify it under the terms of the GNU General Public License as "
  119.     "published by the Free Software Foundation; either version 2 "
  120.     "or any later version.\n\n"
  121.     "This program is distributed in the hope that it will be useful, "
  122.     "but WITHOUT ANY WARRANTY! See the GNU General Public License "
  123.     "(in the file COPYING) for details."
  124.     )
  125. )
  126.  
  127.  
  128. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  129. ;;;
  130. ;;;  CreateDrawer procedure
  131. ;;;
  132. ;;;  Creates a new drawer.
  133. ;;;
  134. ;;;  Uses: drawerName    drawer's name
  135. ;;;
  136. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  137. (procedure CreateDrawer
  138.  
  139.     (makedir drawerName
  140.     (prompt ("Creating drawer %s " drawerName))
  141.     (infos)
  142.     )
  143. )
  144.  
  145.  
  146. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  147. ;;;
  148. ;;;  CheckObsoleteDir procedure
  149. ;;;
  150. ;;;  Asks the user if he wants an "obsolete" directory and creates it,
  151. ;;;  if this is the case. The name will be stored in installObsoleteDir
  152. ;;;  in that case, otherwise this variable will receive the value "".
  153. ;;;
  154. ;;;  Uses: installDir   name of installation directory
  155. ;;;
  156. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  157. (set installObsoleteDirChecked 0)
  158. (procedure CheckObsoleteDir
  159.  
  160.     (if (NOT installObsoleteDirChecked)
  161.     (   (set installObsoleteDir (tackon installDir "obsolete"))
  162.     (if (<> (exists installObsoleteDir) 2)
  163.     (   (makedir installObsoleteDir
  164.         (prompt "Creating a directory " installObsoleteDir " to keep "
  165.             "old prefs files and icons."
  166.         )
  167.         (help "Old prefs files and icons may be prevented from "
  168.               "deletion by copying them to " installObsoleteDir
  169.               ". You may skip this part, if you don't want this.\n\n"
  170.               @makedir-help
  171.         )
  172.         (confirm)
  173.         (infos)
  174.         )
  175.         (if (<> (exists installObsoleteDir) 2)
  176.         (   (set installObsoleteDir "")
  177.         ))
  178.     ))
  179.     (set installObsoleteDirChecked 1)
  180.     ))
  181. )
  182.  
  183.  
  184. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  185. ;;;
  186. ;;;  CheckObsoletefile procedure
  187. ;;;
  188. ;;;  Uses: checkObsoleteFileName    name of file to be copyied into the
  189. ;;;                                 obsolete directory (relative to
  190. ;;;                                 installDir)
  191. ;;;        installObsoleteDir       name of the "obsolete" directory
  192. ;;;        installDir               name of the installation directory
  193. ;;;
  194. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  195. (procedure CheckObsoleteFile
  196.  
  197.     (if (exists checkObsoleteFileName)
  198.     (   (CheckObsoleteDir)
  199.  
  200.     (if installObsoleteDir
  201.     (   (copyfiles
  202.         (prompt ("Preserving old file %s ..." checkObsoleteFileName))
  203.         (help "The old icon " checkObsoleteFileName " may be preserved "
  204.               "by copying it to " installObsoleteDir ". You may skip "
  205.               "this part, if you don't want this.\n\n"
  206.               @rename-help
  207.         )
  208.         (source checkObsoleteFileName)
  209.         (confirm)
  210.         (dest installObsoleteDir)
  211.         (infos)
  212.         (optional "oknodelete" "force" "askuser")
  213.         )
  214.     ))
  215.     ))
  216. )
  217.  
  218.  
  219. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  220. ;;;
  221. ;;;  CreateIcon procedure
  222. ;;;
  223. ;;;  Creates an icon
  224. ;;;
  225. ;;;  Uses: iconName     path of icon to create (".info" removed)
  226. ;;;        iconSource   path of icon to use
  227. ;;;        iconSave     1, if CheckObsoleteFile should be called
  228. ;;;                     to save the icon, 0 otherwise
  229. ;;;
  230. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  231. (procedure CreateIcon
  232.  
  233.     (set iconFullName (cat iconName ".info"))
  234.     (if iconSave
  235.     (   (set checkObsoleteFileName iconFullName)
  236.     (CheckObsoleteFile)
  237.     ))
  238.  
  239.     (if (NOT (exists iconFullName))
  240.     (   (if (exists iconSource)
  241.     (   (transcript "Creating icon " iconFullName)
  242.         (copyfiles
  243.         (prompt "Copying " (fileonly iconName) " icon ...")
  244.         (source iconSource)
  245.         (dest (pathonly iconName))
  246.         (newname (fileonly iconFullName))
  247.         (optional "oknodelete" "askuser")
  248.         )
  249.     )
  250.     (   (transcript iconSource " not found, cannot create "
  251.             iconFullName
  252.         )
  253.     ))
  254.     )
  255.     (   (transcript "Using existing icon " iconFullName)
  256.     ))
  257. )
  258.  
  259.  
  260. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  261. ;;;
  262. ;;;  CreateICSIcon procedure
  263. ;;;
  264. ;;;  Uses: icsHost              name of ICS host, example chess.lm.com
  265. ;;;        icsPort              port number of ICS host, example 5000
  266. ;;;        icsHostName          name of icon to be created
  267. ;;;        icsWindow            window specification for the ICS window
  268. ;;;        telnetProgram        path of the telnet binary
  269. ;;;        installDir           name of installation directory
  270. ;;;
  271. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  272. (procedure CreateICSIcon
  273.  
  274.     (set iconName (tackon installDir icsHostName))
  275.     (set iconSource "AmyBoard.info")
  276.     (set iconSave 1)
  277.     (CreateIcon)
  278.  
  279.     (tooltype
  280.     (prompt (cat "Changing tooltypes of " iconHostName "icon."))
  281.     (dest iconName)
  282.     (setstack 20000)
  283.     (setdefaulttool (tackon installDir "AmyBoard"))
  284.     (settooltype "ICSHOST" icsHost)
  285.     (settooltype "ICSPORT" (cat icsPort))
  286.     (settooltype "TELNETPROGRAM" telnetProgram)
  287.     (settooltype "NOCHESSPROGRAM" "FALSE")
  288.     (settooltype "ICS" "TRUE")
  289.     (settooltype "ICSWINDOW" (icsWindow icsHost))
  290.     (noposition)
  291.     )
  292. )
  293.  
  294.  
  295. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  296. ;;;;
  297. ;;;;  CreateGNUChessIcon procedure
  298. ;;;;
  299. ;;;;  Creates a GNU Chess icon.
  300. ;;;;
  301. ;;;;  Uses:  installDir   path of installation directory
  302. ;;;;
  303. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  304. (procedure CreateGNUChessIcon
  305.  
  306.     (if (<> gnuChessPath "")
  307.     (   (set iconName (tackon installDir "GNU Chess"))
  308.     (set iconSource "AmyBoard.info")
  309.     (set iconSave 1)
  310.     (CreateIcon)
  311.  
  312.     (tooltype
  313.         (prompt "Changing tooltypes of " iconName ...)
  314.         (dest iconName)
  315.         (setdefaulttool (tackon installDir "AmyBoard"))
  316.         (settooltype "NOCHESSPROGRAM" "FALSE")
  317.         (settooltype "ICS" "FALSE")
  318.         (noposition)
  319.     )
  320.     ))
  321. )
  322.  
  323.  
  324. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  325. ;;;;
  326. ;;;;  CreateDocIcon procedure
  327. ;;;;
  328. ;;;;  Creates a docfile's icon.
  329. ;;;;
  330. ;;;;  Uses:  installDir   path of installation directory
  331. ;;;;         docFile      docfile's name
  332. ;;;;
  333. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  334. (procedure CreateDocIcon
  335.  
  336.     (set iconName docFile)
  337.     (set iconSource "doc/ReadMe.mui.info")
  338.     (set iconSave 0)
  339.     (CreateIcon)
  340.  
  341.     (if (< osVersion 39)
  342.     (   (tooltype
  343.         (prompt "Changing tooltype of " iconName ...)
  344.         (dest docFile)
  345.         (setdefaulttool "Sys:Utilities/More")
  346.         (noposition)
  347.     )
  348.     )
  349.     (   (tooltype
  350.         (prompt "Changing tooltype of " iconName ...)
  351.         (dest docFile)
  352.         (setdefaulttool "Sys:Utilities/MultiView")
  353.         (settooltype "FILETYPE" "TEXT|ASCII")
  354.         (noposition)
  355.     )
  356.     ))
  357. )
  358.  
  359.  
  360. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  361. ;;;;
  362. ;;;;  CreateGuideIcon procedure
  363. ;;;;
  364. ;;;;  Creates an AmigaGuide file's icon.
  365. ;;;;
  366. ;;;;  Uses:  installDir   path of installation directory
  367. ;;;;         guideFile    guidefile's name
  368. ;;;;
  369. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  370. (procedure CreateGuideIcon
  371.  
  372.     (set iconName guideFile)
  373.     (set iconSource "doc/AmyBoard.guide.info")
  374.     (set iconSave 0)
  375.     (CreateIcon)
  376.  
  377.     (if (< osVersion 39)
  378.     (   (tooltype
  379.         (prompt "Changing tooltype of " iconName ...)
  380.         (dest guideFile)
  381.         (setdefaulttool "Sys:Utilities/AmigaGuide")
  382.         (noposition)
  383.     )
  384.     )
  385.     (   (tooltype
  386.         (prompt "Changing tooltype of " iconName ...)
  387.         (dest guideFile)
  388.         (setdefaulttool "Sys:Utilities/MultiView")
  389.         (settooltype "FILETYPE" "TEXT|ASCII|AMIGAGUIDE")
  390.         (noposition)
  391.     )
  392.     ))
  393. )  
  394.  
  395.  
  396. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  397. ;;;
  398. ;;;  GetGNUChessSettings procedure
  399. ;;;
  400. ;;;  Asks the user for the variable gnuChessPath
  401. ;;;
  402. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  403. (procedure GetGNUChessSettings
  404.  
  405.     (set gnuChessPath "")
  406.     (set defaultGnuChessPath
  407.      (tackon (fileonly installDir) "gnuchess-4.0.pl74/gnuchessx"))
  408.     (if (askbool
  409.     (prompt "Do you have GNU Chess installed?")
  410.     (help "AmyBoard needs to know the complete path of GNU Chess, "
  411.           "if you want to play against it. Answer \"yes\" in that "
  412.           "case, \"no\" otherwise."
  413.           @askbool-help
  414.     )
  415.     (default 1))
  416.     (   (while (= gnuChessPath "")
  417.     (   (set gnuChessPath (expandpath (askfile
  418.         (prompt "Please select the gnuchessx binary.\n\n")
  419.         (help "To play against GNU Chess you must tell AmyBoard, "
  420.               "where the gnuchessx binary is found. (Be sure, that "
  421.               "you select gnuchessx and not gnuchess, gnuchessr or "
  422.               "anything else.)\n\n"
  423.               @askfile-help
  424.         )
  425.         (default defaultGnuChessPath)
  426. ;               (newpath)
  427.         )))
  428.         (set defaultGnuChessPath gnuChessPath)
  429.  
  430.         (if (<> (fileonly gnuChessPath) "gnuchessx")
  431.         (   (if (NOT (askbool
  432.             (prompt "You have selected a binary called "
  433.                 (fileonly gnuChessPath) " and not gnuchessx.\n\n"
  434.                 "Are you sure?"
  435.             )
  436.             (help "There are different versions of GNU Chess, "
  437.               "for example gnuchess nad gnuchessr using a "
  438.               "curses display. Only gnuchessx may be used by "
  439.               "AmyBoard.\n\n"
  440.               "Select \"yes\", if you are sure, \"no\" "
  441.               "otherwise.\n\n"
  442.               @askbool-help
  443.             )
  444.             (default 0)))
  445.         (   (set gnuChessPath "")
  446.         ))
  447.         ))
  448.     ))
  449.  
  450.     (select (askchoice
  451.         (prompt "Please select the memory reauirements of GNU Chess.")
  452.         (help "GNU Chess may use a variable amount of memory. More memory "
  453.           "enhances it's strength.\n\n"
  454.           @askchoice-help
  455.         )
  456.         (choices "about 1 MByte   (-C 1001 -T 4001)"
  457.              "about 2 MByte   (-C 3001 -T 20001)"
  458.              "about 2.5 MByte (-C 4001 -T 30001)"
  459.              "about 3 MByte   (-C 6001 -T 40001)"
  460.              "different       (you'll be asked)"
  461.         ))
  462.     (   (set gnuChessMemory "-C 1001 -T 4001")
  463.     )
  464.     (   (set gnuChessMemory "-C 3001 -T 20001")
  465.     )
  466.     (   (set gnuChessMemory "-C 4001 -T 30001")
  467.     )
  468.     (   (set gnuChessMemory "-C 6001 -T 40001")
  469.     )
  470.     (   (set gnuChessMemory (askstring
  471.         (prompt "Please enter the GNU Chess option string.")
  472.         (help "GNU Chess's memory requirements are controlled by "
  473.               "a set of options. Please read the GNU Chess docs "
  474.               "for detailed information and enter the appropriate "
  475.               "option string.\n\n"
  476.               @askstring-help
  477.         )
  478.         (default "-C 6001 -T 40001")
  479.         ))
  480.     ))
  481.  
  482.     (set gnuChessPath ("\"%s\" %s" gnuChessPath gnuChessMemory))
  483.     ))
  484. )
  485.  
  486.  
  487. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  488. ;;;
  489. ;;;  CreateIPDialTextFiles procedure
  490. ;;;
  491. ;;;  Creates files to connect to ICS using IPDial.
  492. ;;;
  493. ;;;  Uses: installLibDir    name of "lib" directory
  494. ;;;        telnetProgram    path of the IPDial binary
  495. ;;;        phoneNumber      remote hosts phone number
  496. ;;;
  497. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  498. (procedure CreateIPDialTextFiles
  499.  
  500.     (set icsSerialName (tackon installLibDir "ICSSerial"))
  501.     (set ipDialLoginName (tackon installLibDir "IcsLogin.IPDial"))
  502.  
  503.     (set checkObsoleteFileName icsSerialName)
  504.     (CheckObsoleteFile)
  505.     (textfile
  506.     (prompt "Creating shell script " icsSerialName "...")
  507.     (help icsSerialName " is a shell script used as a fake terminal "
  508.           "program which calls IPDial.\n\n"
  509.           @textfile-help
  510.     )
  511.     (dest icsSerialName)
  512.     (append ".key HOST/A,PORT/A\n"
  513.         ".bra <\n"
  514.         ".ket >\n"
  515.         "set ICSHOST \"<HOST>\"\n"
  516.         "set ICSPORT \"<PORT>\"\n"
  517.         "\"" telnetProgram "\" \"" ipDialLoginName "\"\n"
  518.     )
  519.     )
  520.     (protect icsSerialName "+s +e")
  521.     (set docFile icsSerialName)
  522.     (CreateDocIcon)
  523.  
  524.     (set checkObsoleteFileName ipDialLoginName)
  525.     (CheckObsoleteFile)
  526.     (textfile
  527.     (prompt "Creating IPDial script " ipDialLoginName "...")
  528.     (help ipDialLoginName " is a script executed by IPDial to "
  529.           "connect to the remote host which can connect to the "
  530.           "ICS server.\n\n"
  531.           @textfile-help
  532.     )
  533.     (dest ipDialLoginName)
  534.     (append
  535.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  536.         ";\n"
  537.         ";   Login script to the Internet chess server; to be used by\n"
  538.         ";   IPDial (Aminet, comm/tcp).\n"
  539.         ";\n"
  540.         ";   Version 1.3,    09.03.1995\n"
  541.         ";\n"
  542.         ";   This is a template; you need to edit this according to\n"
  543.         ";   your needs so that it can dial into your remote host.\n"
  544.         ";\n"
  545.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  546.         ";\n"
  547.         ";   The line below *must* be present and *must* be the first command\n"
  548.         ";   line in the script. It specifies the device and the protocol to\n"
  549.         ";   use. (Possible protocols are RTSCTS, XONXOFF or NONE.)\n"
  550.         "\n"
  551.         "    DEVICE serial.device UNIT 0 7WIRE\n"
  552.         "\n"
  553.         "\n"
  554.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  555.         ";\n"
  556.         ";   Certain settings (Note, that these override the respective settings\n"
  557.         ";   of the serial.prefs.)\n"
  558.         ";\n"
  559.         ";   Possible settings are:\n"
  560.         ";       BAUD            Baudrate, integer\n"
  561.         ";       DATABITS        number of data bits, integer\n"
  562.         ";       STOPBITS        number of stop bits, integer\n"
  563.         ";       BUFSIZE         Read buffer size, integer\n"
  564.         ";       PARITY          one of NONE, ODD or EVEN\n"
  565.         ";\n"
  566.         ";   These are scanned with ReadArgs(), thus you can either use the syntax\n"
  567.         ";       set BAUD=38400\n"
  568.         ";   or, if you prefer, this version\n"
  569.         ";       set BAUD 38400\n"
  570.         ";   In the first case, however, it is important, that you omit blanks.\n"
  571.         ";\n"
  572.         "\n"
  573.         "    set BAUD=38400 DATABITS=8 STOPBITS=1 BUFSIZE=4096\n"
  574.         "\n"
  575.         ";   Possible settings in the following line are:\n"
  576.         ";       NONE EVEN ODD\n"
  577.         "\n"
  578.         "    set PARITY=NONE\n"
  579.         "\n"
  580.         "\n"
  581.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  582.         ";\n"
  583.         ";   Show the new settings\n"
  584.         "\n"
  585.         ";   SHOWPARMS\n"
  586.         "\n"
  587.         "\n"
  588.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  589.         ";\n"
  590.         ";   Send initialization command\n"
  591.         "\n"
  592.         "    SEND \"ATZ\\r\"\n"
  593.         "\n"
  594.         "\n"
  595.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  596.         ";\n"
  597.         ";   Wait for the modems ok; break, if timeout\n"
  598.         "    WAIT TIMEOUT=10 \"NO CARRIER\" \"OK\"\n"
  599.         "    ON STATUS GOTO TIMEOUT NoCarrier\n"
  600.         "\n"
  601.         "\n"
  602.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  603.         ";\n"
  604.         ";   Dialing ...\n"
  605.         "\n"
  606.         "Dial:\n"
  607.         "    SEND \"" phoneNumber "\\r\"\n"
  608.         "\n"
  609.         "    WAIT TIMEOUT=60 \"Username: \" \"BUSY\" \"DELAYED\"\n"
  610.         "    ON STATUS GOTO TIMEOUT Login\n"
  611.         "\n"
  612.         "\n"
  613.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  614.         ";\n"
  615.         ";   The usual case: Our Remote is busy. :-(\n"
  616.         ";   We do a delay of 30 secs (thanks, telecom :-) and dial again.\n"
  617.         "\n"
  618.         "    Echo \"Remote busy, delaying ...\\n\"\n"
  619.         "    DELAY 30\n"
  620.         "    Echo \"Trying again.\\n\"\n"
  621.         "    GOTO Dial\n"
  622.         "\n"
  623.         "\n"
  624.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  625.         ";\n"
  626.         ";   The following is *not* needed.\n"
  627.         ";\n"
  628.         ";   You could well do a\n"
  629.         ";\n"
  630.         ";Login:\n"
  631.         ";   TERMINAL\n"
  632.         ";   EXIT 0\n"
  633.         ";\n"
  634.         ";   at this point and login into your remote host manually.\n"
  635.         ";\n"
  636.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  637.         "\n"
  638.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  639.         ";\n"
  640.         ";   Okay, we are connected. Login into the host.\n"
  641.         "\n"
  642.         "Login:\n"
  643.         "    SEND \"<MyLoginName>\\r\"\n"
  644.         "    WAIT TIMEOUT=60 \"Password: \"\n"
  645.         "    ON STATUS GOTO TIMEOUT\n"
  646.         "    SEND \"<MyPassword>\\r\"\n"
  647.         "    WAIT TIMEOUT=60 \"TS2>\"\n"
  648.         "    ON STATUS GOTO TIMEOUT\n"
  649.         "\n"
  650.         "\n"
  651.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  652.         ";\n"
  653.         ";   If we came so far, everything is fine. Tell the remote host to\n"
  654.         ";   connect to the ICS and go into terminal mode, so that the user\n"
  655.         ";   may enter commands.\n"
  656.         ";\n"
  657.         ";   Note, that $ICSHOST and $ICSPORT are replaced by the respective\n"
  658.         ";   environment variables. TerminalICS must set them before starting\n"
  659.         ";   IPDial.\n"
  660.         "\n"
  661.         "    SEND \"telnet $ICSHOST $ICSPORT\\r\"\n"
  662.         "    TERMINAL\n"
  663.         "    EXIT 0\n"
  664.         "\n"
  665.         "\n"
  666.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  667.         ";\n"
  668.         ";   Error message: Timeout\n"
  669.         "\n"
  670.         "TIMEOUT:\n"
  671.         "    ECHO \"\\nTimeout\\n\"\n"
  672.         "    EXIT 10\n"
  673.         "\n"
  674.         ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;\n"
  675.         ";\n"
  676.         ";   Error message: NO CARRIER\n"
  677.         "\n"
  678.         "NoCarrier:\n"
  679.         "    ECHO \"\\nNO CARRIER\\n\"\n"
  680.         "    EXIT 10\n"
  681.         "\n"
  682.     )
  683.     )
  684.     (set docFile ipDialLoginName)
  685.     (CreateDocIcon)
  686.  
  687.     (message "I have created a script file " ipDialLoginName " which will "
  688.          "be executed by IPDial to connect to the ICS.\n\n"
  689.          "This file is just a template and not usable yet. "
  690.          "You must edit it manually with your favourite text "
  691.          "editor.\n\n"
  692.     )
  693. )
  694.  
  695.  
  696. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  697. ;;;
  698. ;;;  SelectTelnetProgram procedure
  699. ;;;
  700. ;;;  Creates the telnetProgram variable.
  701. ;;;
  702. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  703. (procedure SelectTelnetProgram
  704.  
  705.     (select (askchoice
  706.     (prompt "How do you want to connect to ICS?")
  707.     (help "AmyBoard allows to connect to the ICS (Internet Chess Server). "
  708.           "Of course this possibility requires Internet Access in any "
  709.           "way.\n\n"
  710.           "You must not use Napsaterm or a similar program that opens its "
  711.           "own window: Instead it must read from stdin and write to stdout. "
  712.           "(You may, however, select the specifications of your ICS "
  713.           "window.\n\n"
  714.           @askchoice-help
  715.     )
  716.     (choices "AmiTCP:bin/telnet"
  717.          "IPDial (serial line terminalprogram)"
  718.          "Other telnet or terminal program"
  719.          "none"
  720.     )
  721.     )
  722.     (   (set telnetProgram "AmiTCP:bin/telnet")
  723.     )
  724.     (   (set telnetProgram (expandpath (askfile
  725.         (prompt "Please select the IPDial binary.")
  726.         (help "AmyBoard needs to know the path of your terminal "
  727.           "program, IPDial in that case, which you must have "
  728.           "installed first. (You find this on Aminet, "
  729.           "comm/tcp directory.)\n\n"
  730.           @askfile-help
  731.         )
  732.         (default "IPDial")
  733. ;           (newpath)
  734.     )))
  735.     (set phoneNumber (askstring
  736.         (prompt "Enter your modem's dial string.")
  737.         (help "IPDial needs a command to send to the modem "
  738.           "so that it can dial into your remote hosts.\n\n"
  739.           @askstring-help
  740.         )
  741.         (default "ATDP07071927920")
  742.     ))
  743.     (CreateIPDialTextFiles)
  744.     (set telnetProgram (tackon installLibDir "IcsSerial"))
  745.     )
  746.     (   (set telnetProgram (expandpath (askfile
  747.         (prompt "Please select your telnet or terminal program.")
  748.         (help "AmyBoard needs to know the path of the telnet or "
  749.           "terminal program. Please select it.\n\n"
  750.           @askfile-help
  751.         )
  752. ;           (newpath)
  753.         (default "IPDial")
  754.     )))
  755.     (set telnetOptions (askstring
  756.         (prompt "Please enter options to put the telnet or "
  757.             "terminal program into stdin/stdout mode.\n\n"
  758.         )
  759.         (help "Your terminal program must not open a separate window. "
  760.           "Instead it has to read from stdin and write to stdout. "
  761.           "If you need to specify certain options for this mode, "
  762.           "you may specify them here.\n\n"
  763.           @akstring-help
  764.         )
  765.     ))
  766.     (set telnetProgram ("\"%s\" %s" telnetProgram telnetOptions))
  767.     )
  768.     (   (set telnetProgram "")
  769.     ))
  770. )
  771.  
  772.  
  773. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  774. ;;;
  775. ;;;  CopyAmyBoard procedure
  776. ;;;
  777. ;;;  Copies required files to the installation directory.
  778. ;;;
  779. ;;;  Uses: installDir   installation directory
  780. ;;;
  781. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  782. (procedure CopyAmyBoard
  783.  
  784.     (set thisDir (expandpath ""))
  785.  
  786.     (set n 0)
  787.     (while (set drawerName (select n installDir
  788.                      installDocDir
  789.                      installLibDir
  790.                      ""
  791.        ))
  792.     (   (CreateDrawer)
  793.     (set n (+ n 1))
  794.     ))
  795.  
  796.     (if (<> thisDir installDir)
  797.     (   (copylib
  798.         (prompt "Copying the AmyBoard binary ...")
  799.         (source "AmyBoard")
  800.         (dest installDir)
  801.         (infos)
  802.         (optional "force" "askuser")
  803.     )
  804.     (copyfiles
  805.         (prompt "Copying docs ...")
  806.         (source "doc")
  807.         (dest installDocDir)
  808.         (optional "oknodelete" "askuser")
  809.         (all)
  810.         (infos)
  811.     )
  812.     ))
  813.  
  814.     (set n 0)
  815.     (while (set docFile (select n "doc/ChangeLog"
  816.                   "doc/ChangeLog.2"
  817.                   "doc/COPYING"
  818.                   "doc/COPYRIGHT"
  819.                   "doc/FAQ"
  820.                   "doc/ReadMe.mui"
  821.                   "doc/READ_ME"
  822.                   "doc/ToDo"
  823.                   ""
  824.        ))
  825.     (   (set docFile (tackon installDir docFile))
  826.     (CreateDocIcon)
  827.     (set n (+ n 1))
  828.     ))
  829.     (set guideFile (tackon installDir "doc/AmyBoard.guide"))
  830.     (CreateGuideIcon)
  831. )
  832.  
  833.  
  834. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  835. ;;;
  836. ;;;  SelectICSServers procedure
  837. ;;;
  838. ;;;  Allows the user to create ICS Icons.
  839. ;;;
  840. ;;;  Uses: installDir       installation directory path
  841. ;;;        telnetProgram    telnet binary path
  842. ;;;
  843. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  844. (procedure SelectICSServers
  845.  
  846.     (if (<> telnetProgram "")
  847.     (
  848.     (set icsHostChoice (askoptions
  849.         (prompt "For which ICS servers shall I create icons?")
  850.         (help "I may create icons so that you can connect to an ICS "
  851.           "server by just double-clicking the respective icon. "
  852.           "Please select the servers you are interested in.\n\n"
  853.           @askoptions-help
  854.         )
  855.         (choices "ICC    (chess.lm.com, commercial)"
  856.              "FICS   (ics.onenet.net)"
  857.              "EICS   (krypton.daimi.aau.dk)"
  858.              "NLICS  (dds.hacktic.nl)"
  859.              "Others"
  860.         )
  861.         (default 7)
  862.     ))
  863.  
  864.     (set n 0)
  865.     (set hostBit 1)
  866.     (while (set icsHost (select n "chess.lm.com"
  867.                       "ics.onenet.net"
  868.                       "krypton.daimi.aau.dk"
  869.                       "dds.hacktic.nl"
  870.                       ""
  871.            ))
  872.     (   (set icsPort (select n 5000
  873.                    5000
  874.                    5000
  875.                    5000
  876.         ))
  877.         (set icsHostName (select n "ICC"
  878.                        "FICS"
  879.                        "EICS"
  880.                        "NLICS"
  881.         ))
  882.         (if (BITAND hostBit icsHostChoice)
  883.         (   (CreateICSIcon)
  884.         ))
  885.  
  886.         (set n (+ n 1))
  887.         (set hostBit (shiftleft hostBit 1))
  888.     ))
  889.  
  890.     (if (BITAND hostBit icsHostChoice)
  891.     (   (set icsHost "")
  892.         (set icsHostName "")
  893.         (set icsPort 5000)
  894.         (while (set icsHost (askstring
  895.         (prompt "Enter next ICS servers hostname or IP number.\n\n"
  896.             "(Empty string if done.)"
  897.         )
  898.         (help "ICS servers are given by their hostname or IP "
  899.               "number. Enter the next servers name or an "
  900.               "empty string, if you don't want to create another "
  901.               "ICS icon.\n\n"
  902.               @askstring-help
  903.         )
  904.         (default icsHost)))
  905.         (   (set icsPort (asknumber
  906.             (prompt ("Enter the port number of %s." icsHost))
  907.             (help "The telnet program needs a so-called port "
  908.               "number to connect to the ICS host. Usually "
  909.               "the number 5000 is fine.\n\n"
  910.               @asknumber-help
  911.             )
  912.             (default icsPort)
  913.             (range 0 999999)
  914.         ))
  915.         (set icsHostName (askstring
  916.             (prompt ("Enter the icon name of %s." icsHost))
  917.             (help "Enter a unique name for the icon to be "
  918.               "created.\n\n"
  919.               @askstring-help
  920.             )
  921.             (default icsHostName)
  922.         ))
  923.         (if (askbool
  924.             (prompt "About to create an ICS icon\n\n"
  925.                 ("Name: %s\n" icsHostName)
  926.                 ("Host: %s\n" icsHost)
  927.                 (cat "Port: " icsPort "\n")
  928.                 "\n\nIs this correct?"
  929.             )
  930.             (help "Select \"yes\", if you want me to create "
  931.               "an icon called " icsHostName " to connect to "
  932.               "the ICS host " icsHost
  933.               (" with port %d.\n\n" icsPort)
  934.               "Select \"no\", if you want to change these "
  935.               "settings.\n\n"
  936.               @askbool-help
  937.             )
  938.             (default 1))
  939.         (   (CreateICSIcon)
  940.             (set icsHost "")
  941.             (set icsHostName "")
  942.             (set icsPort 5000)
  943.         ))
  944.         ))
  945.     ))
  946.     ))
  947. )
  948.  
  949.  
  950. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  951. ;;;
  952. ;;;  GetWindowSettings procedure
  953. ;;;
  954. ;;;  Allows the user to enter a window specification.
  955. ;;;
  956. ;;;  Uses: telnetProgram    telnet binary path
  957. ;;;
  958. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  959. (procedure GetWindowSettings
  960.  
  961.     (if (<> telnetProgram "")
  962.     (   (set icsWindow (askstring
  963.         (prompt "Enter a window specification for the ICS window.\n\n")
  964.         (help "You must enter a valid window specificattion as "
  965.           "accepted by AmigaDOS. You may, for example, replace "
  966.           "con: with kcon: to get a scrollbar.\n\n"
  967.           "A %s may be used to include the servers name into "
  968.           "the window title.\n\n"
  969.           @askstring-help
  970.         )
  971.         (default "CON://640/256/ICS %s")
  972.     ))
  973.     ))
  974. )
  975.  
  976.  
  977. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  978. ;;;
  979. ;;;  CreatePrefsFile procedure
  980. ;;;
  981. ;;;  Creates lib/AmyBoard.prefs, according to the settings entered so far.
  982. ;;;
  983. ;;;  Uses: installLibDir    "lib" directory path
  984. ;;;        gnuChessPath     gnuchessx binary path
  985. ;;;
  986. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  987. (procedure CreatePrefsFile
  988.  
  989.     (set amyBoardPrefsName (tackon installLibDir "AmyBoard.prefs"))
  990.     (set checkObsoleteFileName amyBoardPrefsName)
  991.     (CheckObsoleteFile)
  992.  
  993.     (textfile
  994.     (prompt "Creating prefs script " textFileName "...")
  995.     (help textFileName " is a textfile containing with your default "
  996.           "settings. I will enter your choices so far, but you might "
  997.           "edit it manually later.\n\n"
  998.           @textfile-help
  999.     )
  1000.     (dest amyBoardPrefsName)
  1001.     (append
  1002.         ";\n"
  1003.         ";   AmyBoard preferences\n"
  1004.         ";\n"
  1005.         ";   Note the following:\n"
  1006.         ";       - Lines beginning with a ; are comments\n"
  1007.         ";       - Variables defining numbers may be followed by comments\n"
  1008.         ";         after the number; this is *not* the case for variables\n"
  1009.         ";         defining strings (obvious reason)\n"
  1010.         ";       - All these variables may be overwritten in the same manner\n"
  1011.         ";         by either CLI arguments or Icon tooltypes\n"
  1012.         ";\n"
  1013.         "\n"
  1014.         "\n"
  1015.         ";\n"
  1016.         ";   Color settings, -1 indicates default\n"
  1017.         ";\n"
  1018.         ";   Better use the MUI prefs to select colors; change the\n"
  1019.         ";   settings below only, if you don't have a registered MUI\n"
  1020.         ";   version\n"
  1021.         "whitePiecePen=-1    ; use default (MUI's SHINEPEN)\n"
  1022.         "blackPiecePen=-1    ; use default (MUI's SHADOWPEN)\n"
  1023.         "lightSquarePen=-1   ; use default (MUI's HALFSHINEPEN)\n"
  1024.         "darkSquarePen=-1    ; use default (MUI's HALFSHADOWPEN)\n"
  1025.         "\n"
  1026.         "\n"
  1027.         ";\n"
  1028.         ";   GNU Chess settings\n"
  1029.         ";\n"
  1030.         "noChessProgram=FALSE\n"
  1031.         ";   Memory settings:\n"
  1032.         ";       -C 1001 -T 4001     about 1 MByte\n"
  1033.         ";       -C 3001 -T 20001    about 2 MByte\n"
  1034.         ";       -C 4001 -T 30001    about 2.5 MByte\n"
  1035.         ";       -C 6001 -T 40001    about 3 MByte\n"
  1036.         "firstChessProgram=" gnuChessPath "\n"
  1037.         "secondChessProgram=" gnuChessPath "\n"
  1038.         "\n"
  1039.         "; Number of moves until flag falls\n"
  1040.         "movesPerSession=60\n"
  1041.         "; Number of minutes[:seconds] until flag falls\n"
  1042.         "timeControl=10\n"
  1043.         "showThinking=TRUE\n"
  1044.         "\n"
  1045.         "; child process settings, used both for GNU Chess and telnetProgram\n"
  1046.         "childPriority=0\n"
  1047.         "childStack=100000\n"
  1048.         "\n"
  1049.         "\n"
  1050.         ";\n"
  1051.         ";   ICS settings\n"
  1052.         "ics=FALSE\n"
  1053.         "icsHost=chess.lm.com\n"
  1054.         ";icsHost=ics.onenet.net\n"
  1055.         ";icsHost=krypton.daimi.aau.dk\n"
  1056.         ";icsHost=dds.hacktic.nl\n"
  1057.         ";icsHost=lux.latrobe.edu.au\n"
  1058.         "icsPort=5000\n"
  1059.         "icsLogon=PROGDIR:lib/.icsrc\n"
  1060.         "telnetProgram=" telnetProgram "\n"
  1061.         "alwaysQueen=FALSE\n"
  1062.         ";\n"
  1063.         ";   Defining icsWindow in the prefs will make AmyBoard to open the window,\n"
  1064.         ";   even when running from the shell, which is probably not what you\n"
  1065.         ";   want, especially because the program doesn't detach. (Which can,\n"
  1066.         ";   however, be forced with \"run <nil: >nil:\".) Thus you better define\n"
  1067.         ";   icsWindow in the icon tooltypes.\n"
  1068.         ";\n"
  1069.         ";icsWindow=" icsWindow "\n"
  1070.         "\n"
  1071.         ";\n"
  1072.         ";   Miscellaneous settings\n"
  1073.         "autoSaveGames=FALSE\n"
  1074.         "boardSize=big\n"
  1075.         ";boardSize=medium\n"
  1076.         ";boardSize=small\n"
  1077.         "ringBellAfterMoves=TRUE\n"
  1078.         "showCoords=FALSE\n"
  1079.     )
  1080.     )
  1081.     (set docFile amyBoardPrefsName)
  1082.     (CreateDocIcon)
  1083.  
  1084.     (message "I have created a prefs file " checkObsoleteFileName
  1085.          " for you. This should be assumed to be a template (though "
  1086.          "perfectly usable), you might wish to edit it manually "
  1087.          "with your favourite text editor."
  1088.     )
  1089. )
  1090.  
  1091.  
  1092. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1093. ;;;
  1094. ;;;  main program
  1095. ;;;
  1096. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  1097.  
  1098. (transcript "Installing " installName ", Version " installVersion ".")
  1099. (CheckOsVersion)
  1100. (CheckMuiVersion)
  1101. (ShowCopyrightMessage)
  1102.  
  1103. (SelectInstallDir)
  1104. (set installLibDir (tackon installDir "lib"))
  1105. (set installDocDir (tackon installDir "doc"))
  1106. (complete 10)
  1107.  
  1108. (CopyAmyBoard)
  1109. (complete 50)
  1110.  
  1111. (GetGNUChessSettings)
  1112. (CreateGNUChessIcon)
  1113. (complete 60)
  1114.  
  1115. (SelectTelnetProgram)
  1116. (complete 70)
  1117.  
  1118. (GetWindowSettings)
  1119. (complete 80)
  1120.  
  1121. (SelectICSServers)
  1122. (complete 90)
  1123.  
  1124. (CreatePrefsFile)
  1125. (complete 100)
  1126.